package com.rzl.expense.expense.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.rzl.expense.common.annotation.Excel;
import com.rzl.expense.common.core.domain.BaseEntity;

/**
 * 房租合同对象 rent_contract
 * 
 * @author expense
 * @date 2024-11-21
 */
public class RentContract extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 房租合同Id */
    private String rentcontractId;

    /** 主合同编码 */
    @Excel(name = "主合同编码")
    private String contractId;

    /** 供应商编码 */
    @Excel(name = "供应商编码")
    private String supplierId;

    /** 缴费周期（0：按天，1：按月，2：按季度，3：按年） */
    @Excel(name = "缴费周期", readConverterExp = "0=：按天，1：按月，2：按季度，3：按年")
    private String paymentperiodId;

    /** 所属省市 */
    @Excel(name = "所属省市")
    private String prvId;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private String contractsysId;

    /** 房租价款 */
    @Excel(name = "房租价款")
    private BigDecimal totalAmountnotax;

    /** 房租是否含税 */
    @Excel(name = "房租是否含税")
    private Long includeTax;

    /** 税率=合同总金额*税率 */
    @Excel(name = "税率=合同总金额*税率")
    private BigDecimal billamountTaxratio;

    /** 房租税金 */
    @Excel(name = "房租税金")
    private BigDecimal taxAmount;

    /** 合同总金额 */
    @Excel(name = "合同总金额")
    private BigDecimal totalAmount;

    /** 房屋年租费 */
    @Excel(name = "房屋年租费")
    private BigDecimal yearAmount;

    /** 区域类型 */
    @Excel(name = "区域类型")
    private Long addressType;

    /** 房屋类型 */
    @Excel(name = "房屋类型")
    private Long houseType;

    /** 费用类别 */
    @Excel(name = "费用类别")
    private Long chargeType;

    /** 物业分类 */
    @Excel(name = "物业分类")
    private Long propertyType;

    /** 租赁面积 */
    @Excel(name = "租赁面积")
    private BigDecimal propertyArea;

    /** 物业地址 */
    @Excel(name = "物业地址")
    private String propertyAddress;

    /** 物业名称 */
    @Excel(name = "物业名称")
    private String propertyName;

    /** 房租合同备注 */
    @Excel(name = "房租合同备注")
    private String rentcontractNote;

    /** 审核时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "审核时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date auditingDate;

    /** 发起审核流程提交人 */
    @Excel(name = "发起审核流程提交人")
    private String auditingUserId;

    /** 租费审核状态 */
    @Excel(name = "租费审核状态")
    private Long auditState;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private String auditingRoleCode;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private String tag;

    /** 录入人id */
    @Excel(name = "录入人id")
    private String enterUserId;

    /** 错误数据更正编号 */
    @Excel(name = "错误数据更正编号")
    private String correctId;

    /** 错误数据更正时间  */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "错误数据更正时间 ", width = 30, dateFormat = "yyyy-MM-dd")
    private Date correctTime;

    /** 计提比例 */
    @Excel(name = "计提比例")
    private Long accruedRatio;

    /** 多供应商是否被切换过 */
    @Excel(name = "多供应商是否被切换过")
    private Long isSupplierChange;

    /** 已缴费期终(未经三费报账) */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "已缴费期终(未经三费报账)", width = 30, dateFormat = "yyyy-MM-dd")
    private Date paidfeeEnddate;

    /** 计提合同类型 1：租赁合同；2：电租一体合同；3：三方塔合同；4：电费三方塔合同 */
    @Excel(name = "计提合同类型 1：租赁合同；2：电租一体合同；3：三方塔合同；4：电费三方塔合同")
    private Long accrualContractType;

    /** 关联租赁核算平台合同编码 */
    @Excel(name = "关联租赁核算平台合同编码")
    private String platformContractCode;

    /** 关联租赁核算平台合同名称 */
    @Excel(name = "关联租赁核算平台合同名称")
    private String platformContractName;

    /** 租赁组成部分（不含税） */
    @Excel(name = "租赁组成部分", readConverterExp = "不=含税")
    private BigDecimal leaseAmountNoTax;

    /** 非租赁组成部分（不含税） */
    @Excel(name = "非租赁组成部分", readConverterExp = "不=含税")
    private BigDecimal noLeaseAmountNoTax;

    /** 税额（租赁组成部分） */
    @Excel(name = "税额", readConverterExp = "租=赁组成部分")
    private BigDecimal taxWithLease;

    /** 税额（非租赁组成部分） */
    @Excel(name = "税额", readConverterExp = "非=租赁组成部分")
    private BigDecimal taxNoLease;

    /** 租赁开始日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "租赁开始日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date leaseBeginDate;

    /** 租赁到期日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "租赁到期日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date leaseEndDate;

    /** 已结算费用日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "已结算费用日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date settledExpensesDate;

    /** 计提备注 */
    @Excel(name = "计提备注")
    private String accrualNote;

    /** 关联核算平台合同类型 null：未关联平台合同；1：系统关联平台合同；2：用户手动关联平台合同 */
    @Excel(name = "关联核算平台合同类型 null：未关联平台合同；1：系统关联平台合同；2：用户手动关联平台合同")
    private Long linkPlatformType;

    /** 是否有关联缴费财务审核通过 1：是 */
    @Excel(name = "是否有关联缴费财务审核通过 1：是")
    private Long ifPaymentPass;

    /** 最后更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "最后更新时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date lastModifyTime;

    /** 推送省AI稽核记录版本号 */
    @Excel(name = "推送省AI稽核记录版本号")
    private Long versionCode;

    /** 是否计提非租赁组成部分 1：是 0：否 */
    @Excel(name = "是否计提非租赁组成部分 1：是 0：否")
    private Long ifAccrualNoLeaseAmount;

    /** 已报账金额 */
    @Excel(name = "已报账金额")
    private BigDecimal totalClaimAmount;

    /** 最后报账时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "最后报账时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date lastClaimDate;

    /** 当前审核人 */
    @Excel(name = "当前审核人")
    private String currentAuditingUser;

    public void setRentcontractId(String rentcontractId) 
    {
        this.rentcontractId = rentcontractId;
    }

    public String getRentcontractId() 
    {
        return rentcontractId;
    }
    public void setContractId(String contractId) 
    {
        this.contractId = contractId;
    }

    public String getContractId() 
    {
        return contractId;
    }
    public void setSupplierId(String supplierId) 
    {
        this.supplierId = supplierId;
    }

    public String getSupplierId() 
    {
        return supplierId;
    }
    public void setPaymentperiodId(String paymentperiodId) 
    {
        this.paymentperiodId = paymentperiodId;
    }

    public String getPaymentperiodId() 
    {
        return paymentperiodId;
    }
    public void setPrvId(String prvId) 
    {
        this.prvId = prvId;
    }

    public String getPrvId() 
    {
        return prvId;
    }
    public void setContractsysId(String contractsysId) 
    {
        this.contractsysId = contractsysId;
    }

    public String getContractsysId() 
    {
        return contractsysId;
    }
    public void setTotalAmountnotax(BigDecimal totalAmountnotax) 
    {
        this.totalAmountnotax = totalAmountnotax;
    }

    public BigDecimal getTotalAmountnotax() 
    {
        return totalAmountnotax;
    }
    public void setIncludeTax(Long includeTax) 
    {
        this.includeTax = includeTax;
    }

    public Long getIncludeTax() 
    {
        return includeTax;
    }
    public void setBillamountTaxratio(BigDecimal billamountTaxratio) 
    {
        this.billamountTaxratio = billamountTaxratio;
    }

    public BigDecimal getBillamountTaxratio() 
    {
        return billamountTaxratio;
    }
    public void setTaxAmount(BigDecimal taxAmount) 
    {
        this.taxAmount = taxAmount;
    }

    public BigDecimal getTaxAmount() 
    {
        return taxAmount;
    }
    public void setTotalAmount(BigDecimal totalAmount) 
    {
        this.totalAmount = totalAmount;
    }

    public BigDecimal getTotalAmount() 
    {
        return totalAmount;
    }
    public void setYearAmount(BigDecimal yearAmount) 
    {
        this.yearAmount = yearAmount;
    }

    public BigDecimal getYearAmount() 
    {
        return yearAmount;
    }
    public void setAddressType(Long addressType) 
    {
        this.addressType = addressType;
    }

    public Long getAddressType() 
    {
        return addressType;
    }
    public void setHouseType(Long houseType) 
    {
        this.houseType = houseType;
    }

    public Long getHouseType() 
    {
        return houseType;
    }
    public void setChargeType(Long chargeType) 
    {
        this.chargeType = chargeType;
    }

    public Long getChargeType() 
    {
        return chargeType;
    }
    public void setPropertyType(Long propertyType) 
    {
        this.propertyType = propertyType;
    }

    public Long getPropertyType() 
    {
        return propertyType;
    }
    public void setPropertyArea(BigDecimal propertyArea) 
    {
        this.propertyArea = propertyArea;
    }

    public BigDecimal getPropertyArea() 
    {
        return propertyArea;
    }
    public void setPropertyAddress(String propertyAddress) 
    {
        this.propertyAddress = propertyAddress;
    }

    public String getPropertyAddress() 
    {
        return propertyAddress;
    }
    public void setPropertyName(String propertyName) 
    {
        this.propertyName = propertyName;
    }

    public String getPropertyName() 
    {
        return propertyName;
    }
    public void setRentcontractNote(String rentcontractNote) 
    {
        this.rentcontractNote = rentcontractNote;
    }

    public String getRentcontractNote() 
    {
        return rentcontractNote;
    }
    public void setAuditingDate(Date auditingDate) 
    {
        this.auditingDate = auditingDate;
    }

    public Date getAuditingDate() 
    {
        return auditingDate;
    }
    public void setAuditingUserId(String auditingUserId) 
    {
        this.auditingUserId = auditingUserId;
    }

    public String getAuditingUserId() 
    {
        return auditingUserId;
    }
    public void setAuditState(Long auditState) 
    {
        this.auditState = auditState;
    }

    public Long getAuditState() 
    {
        return auditState;
    }
    public void setAuditingRoleCode(String auditingRoleCode) 
    {
        this.auditingRoleCode = auditingRoleCode;
    }

    public String getAuditingRoleCode() 
    {
        return auditingRoleCode;
    }
    public void setTag(String tag) 
    {
        this.tag = tag;
    }

    public String getTag() 
    {
        return tag;
    }
    public void setEnterUserId(String enterUserId) 
    {
        this.enterUserId = enterUserId;
    }

    public String getEnterUserId() 
    {
        return enterUserId;
    }
    public void setCorrectId(String correctId) 
    {
        this.correctId = correctId;
    }

    public String getCorrectId() 
    {
        return correctId;
    }
    public void setCorrectTime(Date correctTime) 
    {
        this.correctTime = correctTime;
    }

    public Date getCorrectTime() 
    {
        return correctTime;
    }
    public void setAccruedRatio(Long accruedRatio) 
    {
        this.accruedRatio = accruedRatio;
    }

    public Long getAccruedRatio() 
    {
        return accruedRatio;
    }
    public void setIsSupplierChange(Long isSupplierChange) 
    {
        this.isSupplierChange = isSupplierChange;
    }

    public Long getIsSupplierChange() 
    {
        return isSupplierChange;
    }
    public void setPaidfeeEnddate(Date paidfeeEnddate) 
    {
        this.paidfeeEnddate = paidfeeEnddate;
    }

    public Date getPaidfeeEnddate() 
    {
        return paidfeeEnddate;
    }
    public void setAccrualContractType(Long accrualContractType) 
    {
        this.accrualContractType = accrualContractType;
    }

    public Long getAccrualContractType() 
    {
        return accrualContractType;
    }
    public void setPlatformContractCode(String platformContractCode) 
    {
        this.platformContractCode = platformContractCode;
    }

    public String getPlatformContractCode() 
    {
        return platformContractCode;
    }
    public void setPlatformContractName(String platformContractName) 
    {
        this.platformContractName = platformContractName;
    }

    public String getPlatformContractName() 
    {
        return platformContractName;
    }
    public void setLeaseAmountNoTax(BigDecimal leaseAmountNoTax) 
    {
        this.leaseAmountNoTax = leaseAmountNoTax;
    }

    public BigDecimal getLeaseAmountNoTax() 
    {
        return leaseAmountNoTax;
    }
    public void setNoLeaseAmountNoTax(BigDecimal noLeaseAmountNoTax) 
    {
        this.noLeaseAmountNoTax = noLeaseAmountNoTax;
    }

    public BigDecimal getNoLeaseAmountNoTax() 
    {
        return noLeaseAmountNoTax;
    }
    public void setTaxWithLease(BigDecimal taxWithLease) 
    {
        this.taxWithLease = taxWithLease;
    }

    public BigDecimal getTaxWithLease() 
    {
        return taxWithLease;
    }
    public void setTaxNoLease(BigDecimal taxNoLease) 
    {
        this.taxNoLease = taxNoLease;
    }

    public BigDecimal getTaxNoLease() 
    {
        return taxNoLease;
    }
    public void setLeaseBeginDate(Date leaseBeginDate) 
    {
        this.leaseBeginDate = leaseBeginDate;
    }

    public Date getLeaseBeginDate() 
    {
        return leaseBeginDate;
    }
    public void setLeaseEndDate(Date leaseEndDate) 
    {
        this.leaseEndDate = leaseEndDate;
    }

    public Date getLeaseEndDate() 
    {
        return leaseEndDate;
    }
    public void setSettledExpensesDate(Date settledExpensesDate) 
    {
        this.settledExpensesDate = settledExpensesDate;
    }

    public Date getSettledExpensesDate() 
    {
        return settledExpensesDate;
    }
    public void setAccrualNote(String accrualNote) 
    {
        this.accrualNote = accrualNote;
    }

    public String getAccrualNote() 
    {
        return accrualNote;
    }
    public void setLinkPlatformType(Long linkPlatformType) 
    {
        this.linkPlatformType = linkPlatformType;
    }

    public Long getLinkPlatformType() 
    {
        return linkPlatformType;
    }
    public void setIfPaymentPass(Long ifPaymentPass) 
    {
        this.ifPaymentPass = ifPaymentPass;
    }

    public Long getIfPaymentPass() 
    {
        return ifPaymentPass;
    }
    public void setLastModifyTime(Date lastModifyTime) 
    {
        this.lastModifyTime = lastModifyTime;
    }

    public Date getLastModifyTime() 
    {
        return lastModifyTime;
    }
    public void setVersionCode(Long versionCode) 
    {
        this.versionCode = versionCode;
    }

    public Long getVersionCode() 
    {
        return versionCode;
    }
    public void setIfAccrualNoLeaseAmount(Long ifAccrualNoLeaseAmount) 
    {
        this.ifAccrualNoLeaseAmount = ifAccrualNoLeaseAmount;
    }

    public Long getIfAccrualNoLeaseAmount() 
    {
        return ifAccrualNoLeaseAmount;
    }
    public void setTotalClaimAmount(BigDecimal totalClaimAmount) 
    {
        this.totalClaimAmount = totalClaimAmount;
    }

    public BigDecimal getTotalClaimAmount() 
    {
        return totalClaimAmount;
    }
    public void setLastClaimDate(Date lastClaimDate) 
    {
        this.lastClaimDate = lastClaimDate;
    }

    public Date getLastClaimDate() 
    {
        return lastClaimDate;
    }
    public void setCurrentAuditingUser(String currentAuditingUser) 
    {
        this.currentAuditingUser = currentAuditingUser;
    }

    public String getCurrentAuditingUser() 
    {
        return currentAuditingUser;
    }

}
